#include "bsp_led.h"

#include "main.h"

void leds(enum ledlist led, enum ledstate state) //板载LED控制 led：选择的led，state：led状态
{
    switch (led)
    {
        case LED_RED: 
            if (state)
                HAL_GPIO_WritePin(LED_RED_GPIO_Port,LED_RED_Pin,GPIO_PIN_RESET);
            else
                HAL_GPIO_WritePin(LED_RED_GPIO_Port,LED_RED_Pin,GPIO_PIN_SET);
            break;

        case LED_GREEN:
            if (state)
                HAL_GPIO_WritePin(LED_GREEN_GPIO_Port,LED_GREEN_Pin,GPIO_PIN_RESET);
            else
                HAL_GPIO_WritePin(LED_GREEN_GPIO_Port,LED_GREEN_Pin,GPIO_PIN_SET);
            break;

        case LED_A:
            if (state)
                HAL_GPIO_WritePin(LED_A_GPIO_Port,LED_A_Pin,GPIO_PIN_RESET);
            else
                HAL_GPIO_WritePin(LED_A_GPIO_Port,LED_A_Pin,GPIO_PIN_SET);
            break;

        case LED_B:
            if (state)
                HAL_GPIO_WritePin(LED_B_GPIO_Port,LED_B_Pin,GPIO_PIN_RESET);
            else
                HAL_GPIO_WritePin(LED_B_GPIO_Port,LED_B_Pin,GPIO_PIN_SET);
            break;

        case LED_C:
            if (state)
                HAL_GPIO_WritePin(LED_C_GPIO_Port,LED_C_Pin,GPIO_PIN_RESET);
            else
                HAL_GPIO_WritePin(LED_C_GPIO_Port,LED_C_Pin,GPIO_PIN_SET);
            break;

        case LED_D:
            if (state)
                HAL_GPIO_WritePin(LED_D_GPIO_Port,LED_D_Pin,GPIO_PIN_RESET);
            else
                HAL_GPIO_WritePin(LED_D_GPIO_Port,LED_D_Pin,GPIO_PIN_SET);
            break;

        case LED_E:
            if (state)
                HAL_GPIO_WritePin(LED_E_GPIO_Port,LED_E_Pin,GPIO_PIN_RESET);
            else
                HAL_GPIO_WritePin(LED_E_GPIO_Port,LED_E_Pin,GPIO_PIN_SET);
            break;

        case LED_F:
            if (state)
                HAL_GPIO_WritePin(LED_F_GPIO_Port,LED_F_Pin,GPIO_PIN_RESET);
            else
                HAL_GPIO_WritePin(LED_F_GPIO_Port,LED_F_Pin,GPIO_PIN_SET);
            break;

        case LED_G:
            if (state)
                HAL_GPIO_WritePin(LED_G_GPIO_Port,LED_G_Pin,GPIO_PIN_RESET);
            else
                HAL_GPIO_WritePin(LED_G_GPIO_Port,LED_G_Pin,GPIO_PIN_SET);
            break;
        
        case LED_H:
            if (state)
                HAL_GPIO_WritePin(LED_H_GPIO_Port,LED_H_Pin,GPIO_PIN_RESET);
            else
                HAL_GPIO_WritePin(LED_H_GPIO_Port,LED_H_Pin,GPIO_PIN_SET);
            break;
        
        default:
            break;
    }
}
